Chúng ta đang vượt qua giới hạn của các mô hình tuyến tính, những mô hình gặp khó khăn khi phân loại dữ liệu không thể tách biệt bằng một đường thẳng. Hôm nay, chúng ta áp dụng quy trình PyTorch để xây dựng một Mạng nơ-ron sâu (DNN) có khả năng học được các ranh giới quyết định phức tạp, phi tuyến tính rất quan trọng cho các nhiệm vụ phân loại trong thế giới thực.
1. Hình dung Sự Cần thiết của Dữ liệu Phi tuyến tính
Bước đầu tiên của chúng ta là tạo ra một bộ dữ liệu tổng hợp thách thức, chẳng hạn như phân bố hai vòng trăng, để minh họa trực quan lý do tại sao các mô hình tuyến tính đơn giản lại thất bại. Cấu hình này buộc chúng ta phải sử dụng các kiến trúc sâu để xấp xỉ đường cong phức tạp cần thiết nhằm tách biệt các lớp.
Tính chất Dữ liệu
- Cấu trúc Dữ liệu: Đặc trưng dữ liệu tổng hợp (ví dụ: $1000 \times 2$ cho $1000$ mẫu với 2 đặc trưng).
- Loại Đầu ra: Một giá trị xác suất duy nhất, thường là
torch.float32, đại diện cho sự tham gia vào lớp. - Mục tiêu: Để tạo ra một ranh giới quyết định cong thông qua tính toán theo tầng.
Sức mạnh của Các Hàm Kích hoạt Phi tuyến tính
Nguyên lý cốt lõi của DNN là việc giới thiệu tính phi tuyến tính ở các lớp ẩn thông qua các hàm như ReLU. Không có chúng, việc chồng các lớp sẽ chỉ dẫn đến một mô hình tuyến tính lớn, bất kể độ sâu.
TERMINALbash — classification-env
> Ready. Click "Run" to execute.
>
TENSOR INSPECTOR Live
Run code to inspect active tensors
Question 1
What is the primary purpose of the ReLU activation function in a hidden layer?
Question 2
Which activation function is required in the output layer for a binary classification task?
Question 3
Which loss function corresponds directly to a binary classification problem using a Sigmoid output?
Challenge: Designing the Core Architecture
Integrating architectural components for non-linear learning.
You must build a
nn.Module for the two-moons task. Input features: 2. Output classes: 1 (probability).
Step 1
Describe the flow of computation for a single hidden layer in this DNN.
Solution:
Input $\to$ Linear Layer (Weight Matrix) $\to$ ReLU Activation $\to$ Output to Next Layer.
Input $\to$ Linear Layer (Weight Matrix) $\to$ ReLU Activation $\to$ Output to Next Layer.
Step 2
What must the final layer size be if the input shape is $(N, 2)$ and we use BCE loss?
Solution:
The output layer must have size $(N, 1)$ to produce a single probability score per sample, matching the label shape.
The output layer must have size $(N, 1)$ to produce a single probability score per sample, matching the label shape.